package com.ruoyi.job.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 用户统计对象 user_statistics
 *
 * @author ruoyi
 * @date 2023-05-10
 */
public class UserStatistics extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** $column.columnComment */
    private Date created;

    /** 日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createTime;


    /** 总注册用户 */
    @Excel(name = "总注册用户")
    private Long totalCount;

    /** 已注册用户 */
    @Excel(name = "已注册用户")
    private Long registerCount;

    /** 未通过用户 */
    @Excel(name = "未通过用户")
    private Long failCount;

    /** 待审核用户 */
    @Excel(name = "待审核用户")
    private Long reviewCount;

    /**供给用户*/
    @Excel(name = "供给方用户")
    private Integer supplyCount;

    /**需求用户*/
    @Excel(name = "需求方用户")
    private Integer needCount;

    /**审核过的用户*/
    @Excel(name = "已审核用户")
    private Integer examinedCount;

    /**注销用户*/
    @Excel(name = "注销用户")
    private Integer logoutCount;


    /** $column.columnComment */
    private Date updateTime;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startTime;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date yearTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date mouthTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date weekTime;


    public Date getYearTime() {
        return yearTime;
    }

    public void setYearTime(Date yearTime) {
        this.yearTime = yearTime;
    }

    public Date getMouthTime() {
        return mouthTime;
    }

    public void setMouthTime(Date mouthTime) {
        this.mouthTime = mouthTime;
    }

    public Date getWeekTime() {
        return weekTime;
    }

    public void setWeekTime(Date weekTime) {
        this.weekTime = weekTime;
    }

    public Integer getSupplyCount() {
        return supplyCount;
    }

    public void setSupplyCount(Integer supplyCount) {
        this.supplyCount = supplyCount;
    }

    public Integer getNeedCount() {
        return needCount;
    }

    public void setNeedCount(Integer needCount) {
        this.needCount = needCount;
    }

    public Integer getExaminedCount() {
        return examinedCount;
    }

    public void setExaminedCount(Integer examinedCount) {
        this.examinedCount = examinedCount;
    }

    public Integer getLogoutCount() {
        return logoutCount;
    }

    public void setLogoutCount(Integer logoutCount) {
        this.logoutCount = logoutCount;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setCreated(Date created)
    {
        this.created = created;
    }

    public Date getCreated()
    {
        return created;
    }
    public void setTotalCount(Long totalCount)
    {
        this.totalCount = totalCount;
    }

    public Long getTotalCount()
    {
        return totalCount;
    }
    public void setRegisterCount(Long registerCount)
    {
        this.registerCount = registerCount;
    }

    public Long getRegisterCount()
    {
        return registerCount;
    }
    public void setFailCount(Long failCount)
    {
        this.failCount = failCount;
    }

    public Long getFailCount()
    {
        return failCount;
    }
    public void setReviewCount(Long reviewCount)
    {
        this.reviewCount = reviewCount;
    }

    public Long getReviewCount()
    {
        return reviewCount;
    }
    public void setCreateTime(Date createdTime)
    {
        this.createTime = createdTime;
    }

    public Date getCreateTime()
    {
        return createTime;
    }
    public void setUpdateTime(Date updatedTime)
    {
        this.updateTime = updatedTime;
    }

    public Date getUpdateTime()
    {
        return updateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("created", getCreated())
            .append("totalCount", getTotalCount())
            .append("registerCount", getRegisterCount())
            .append("failCount", getFailCount())
            .append("reviewCount", getReviewCount())
            .append("createdTime", getCreateTime())
            .append("updatedTime", getUpdateTime())
            .toString();
    }
}
